package com.pactera.madp.cp.api.entity.sync;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 产品信息表
 * 
 * @author deming.chang
 * @email deming.chang@gientech.com
 * @date 2022-03-21 19:45:03
 */
@Data
@TableName("cp_sync_prd_info")
public class SyncPrdInfoEntity extends Model<SyncPrdInfoEntity> {

	/**
	 * 产品代码
	 */
	@TableId(type = IdType.INPUT)
	private String prdCode;
	/**
	 * 产品类别 0-基金产品 1-理财产品
	 */
	private String prdType;
	/**
	 * TA代码
	 */
	private String taCode;
	/**
	 * 产品名称
	 */
	private String prdName;
	/**
	 * 产品别名
	 */
	private String prdName2;
	/**
	 * 产品面值
	 */
	private BigDecimal faceValue;
	/**
	 * 产品面值
	 */
	private BigDecimal issPrice;
	/**
	 * 募集起始日期
	 */
	private Integer ipoStartDate;
	/**
	 * 募集结束日期
	 */
	private Integer ipoEndDate;
	/**
	 * 产品成立日期
	 */
	private Integer estabDate;
	/**
	 * 封闭到期日
	 */
	private Integer aLimitEndDate;
	/**
	 * 产品结束日
	 */
	private Integer endDate;
	/**
	 * 起息日
	 */
	private Integer incomeDate;
	/**
	 * 收益截止日
	 */
	private Integer incomeEndDate;
	/**
	 * 利息截止日
	 */
	private Integer interestEndDate;
	/**
	 * 实际募集金额
	 */
	private BigDecimal prdIssueRealBala;
	/**
	 * 允许的分红方式
	 */
	private BigDecimal divModes;
	/**
	 * 默认的分红方式
	 */
	private String divMode;
	/**
	 * 支持的渠道
	 */
	private String channels;
	/**
	 * 支持客户组别
	 */
	private String clientGroups;
	/**
	 * 份额类比 A-前收费 B-后收费
	 */
	private String shareClass;
	/**
	 * 收益体现方式 0:净值类 1:货币式收益类 2:一般收益类
	 */
	private String interestWay;
	/**
	 * 风险等级
	 */
	private Integer riskLevel;
	/**
	 * 评估等级
	 */
	private String grade;
	/**
	 * 产品状态 0-开放期 1-募集期 2-发行成功 3-发行失败 4-停止交易 5-停止申购 6-停止赎回 7-权益登记 8-红利发放 9-产品封闭 a-产品终止 b-预约认购期
	 */
	private String status;
	/**
	 * 币种 156-人民币 840-美元 344-港元 954-欧元 392-日元 826-英镑 256-法郎 250-马克
	 */
	private String currType;
	/**
	 * 钞汇标志 外币产品才有 0-现钞 1-现汇 2-均可
	 */
	private String cashFlag;
	/**
	 * 开市时间
	 */
	private Integer openTime;
	/**
	 * 闭市时间
	 */
	private Integer closeTime;
	/**
	 * 个人最小购买单位 为0表示不控制
	 */
	private BigDecimal pSubUnit;
	/**
	 * 个人首次投资最低金额 为0表示不控制
	 */
	private BigDecimal pFirstAmt;
	/**
	 * 个人追加投资最低金额 为0表示不控制
	 */
	private BigDecimal pAppAmt;
	/**
	 * 个人最低定投金额 为0表示不控制
	 */
	private BigDecimal pMinInvestAmt;
	/**
	 * 个人最低持有份额 为0表示不控制
	 */
	private BigDecimal pMinHold;
	/**
	 * 个人单笔最低赎回份额 为0表示不控制
	 */
	private BigDecimal pMinRed;
	/**
	 * 个人单笔最高赎回份额 为0表示不控制
	 */
	private BigDecimal pMaxRed;
	/**
	 * 个人赎回单位 为0表示不控制
	 */
	private BigDecimal pRedUnit;
	/**
	 * 个人最低转换份额 为0表示不控制
	 */
	private BigDecimal pMinConvVol;
	/**
	 * 个人最低定赎份额 为0表示不控制
	 */
	private BigDecimal pMinRedVol;
	/**
	 * 个人单笔最大购买金额 为0表示不控制
	 */
	private BigDecimal pMaxAmt;
	/**
	 * 个人单户累计最大购买金额 为0表示不控制
	 */
	private BigDecimal pMaxAccuAmt;
	/**
	 * 机构最小购买单位 为0表示不控制
	 */
	private BigDecimal oSubUnit;
	/**
	 * 机构首次投资最低金额 为0表示不控制
	 */
	private BigDecimal oFirstAmt;
	/**
	 * 机构追加投资最低金额 为0表示不控制
	 */
	private BigDecimal oAppAmt;
	/**
	 * 机构最低定投金额 为0表示不控制
	 */
	private BigDecimal oMinInvestAmt;
	/**
	 * 机构最低持有份额 为0表示不控制
	 */
	private BigDecimal oMinHold;
	/**
	 * 机构单笔最低赎回份额 为0表示不控制
	 */
	private BigDecimal oMinRed;
	/**
	 * 机构单笔最高赎回份额 为0表示不控制
	 */
	private BigDecimal oMaxRed;
	/**
	 * 机构赎回单位 为0表示不控制
	 */
	private BigDecimal oRedUnit;
	/**
	 * 机构最低转换份额 为0表示不控制
	 */
	private BigDecimal oMinConvVol;
	/**
	 * 机构最低定赎份额 为0表示不控制
	 */
	private BigDecimal oMinRedVol;
	/**
	 * 机构单笔最大购买金额 为0表示不控制
	 */
	private BigDecimal oMaxAmt;
	/**
	 * 机构单户累计最大购买金额  为0表示不控制
	 */
	private BigDecimal oMaxAccuAmt;
	/**
	 * 赎回资金到账天数 从赎回确认日开始计算，遇非工作日顺延
	 */
	private Integer redDays;
	/**
	 * 分红资金到账天数 从分红确认日开始计算，遇非工作日顺延
	 */
	private Integer divDays;
	/**
	 * 产品到期资金到账天数 从赎回确认日开始计算，遇非工作日顺延
	 */
	private Integer refundDays;
	/**
	 * 发行失败/比例退款资金到账天数 从发行失败日或者产品成立日日开始计算，遇非工作日顺延
	 */
	private Integer failDays;
	/**
	 * 申购失败资金到帐延迟天数 从申购确认日开始计算，遇非工作日顺延
	 */
	private Integer openBuyDays;
	/**
	 * 所以业务延后清算天数 如T+1产品为1，T+0产品为0
	 */
	private Integer tnConfirm;
	/**
	 * 交易方式 0-开放式 1-半封闭式 2-封闭式 3-半开放式
	 */
	private String transWay;
	/**
	 * 适合度问卷编号
	 */
	private Integer paperNo;
	/**
	 * 净值
	 */
	private BigDecimal nav;
	/**
	 * 累计净值
	 */
	private BigDecimal totNav;
	/**
	 * 净值日期
	 */
	private Integer navDate;
	/**
	 * 预期收益率
	 */
	private BigDecimal guestRate;
	/**
	 * 计息天数（只用于封闭式产品）
	 */
	private Integer interestDays;
	/**
	 * TA名称
	 */
	private String taName;
	/**
	 * 产品转换允许标识
	 */
	private String convFlag;
	/**
	 * 控制标识
	 */
	private String controlFlag;
	/**
	 * 最低募集金额
	 */
	private BigDecimal prdMinBala;
	/**
	 * 最高募集金额
	 */
	private BigDecimal prdMaxBala;
	/**
	 * 产品属性
	 */
	private String prdAttr;
	/**
	 * 产品模板信息
	 */
	private String reserve1;
	/**
	 * 模板说明
	 */
	private String modelComment;
	/**
	 * 当前模板
	 */
	private BigDecimal currScale;
	/**
	 * 当前总份额
	 */
	private BigDecimal prdTotvol;
	/**
	 * 管理人代码
	 */
	private String prdManager;
	/**
	 * 申购允许提前天数
	 */
	private Integer scheduleDays;
	/**
	 * 赎回允许提前天数
	 */
	private Integer redemptionDays;
	/**
	 * 最近周期清算日
	 */
	private Integer cycleDate;
	/**
	 * 募集方式
	 */
	private String ipoType;
	/**
	 * 产品投资类型
	 */
	private String prdInvestType;
	/**
	 * 产品登记编码
	 */
	private String debtRegistCode;
	/**
	 * 是否处于预约购买周期
	 */
	private String bookBuyFlag;
	/**
	 * 是否处于开放购买周期
	 */
	private String openBuyFlag;
	/**
	 * 是否处于预约赎回周期
	 */
	private String bookRedFlag;
	/**
	 * 是否处于开放赎回周期
	 */
	private String openRedFlag;
	/**
	 * 下一购买开放日
	 */
	private Integer nextOpenBuyDate;
	/**
	 * 下一赎回开放日
	 */
	private Integer nextOpenRedDate;
	/**
	 * 产品简介
	 */
	private String prdInfo;
	/**
	 * 日涨跌幅
	 */
	private String dayRate;
	/**
	 * 年涨跌幅
	 */
	private String yearRate;
	/**
	 * 产品标签
	 */
	private String prdLable;
	/**
	 * 赎回说明
	 */
	private String redDesc;
	/**
	 * 资管代销产品周期说明
	 */
	private String openCycle;
	/**
	 * 货币基金年收益率
	 */
	private String yearincomeRate;
	/**
	 * 货币基金年收益率正负
	 */
	private String yearincomeFlag;
	/**
	 * 业绩基准说明详述
	 */
	private String benchExplainDetail;
	/**
	 * 主页面历史业绩类型
	 */
	private String showBenchType;
	/**
	 * 创建时间
	 */
	private LocalDateTime createTime;
	/**
	 * 修改时间
	 */
	private LocalDateTime updateTime;
	/**
	 * 删除标记
	 */
	private String delFlag;
	/**
	 * 租户ID
	 */
	private Integer tenantId;

}
